<?php
require_once('guia/dao_guia.php');
require_once('cliente/dao_cliente.php');
require_once('servicio/dao_servicio.php');
require_once('herramientas/parametros/producto/dao_producto.php');
require_once('herramientas/parametros/concepto_envio/dao_concepto_envio.php');
require_once('herramientas/parametros/descuento/dao_descuento.php');
require_once('guia/seleccionar_cliente/ci_seleccionar_cliente.php');

class ci_guia_edicion extends toba_ci
{
	protected $s__seleccion;
	protected $s__datos_filtro;
	protected $s__cantidad;
	protected $s__nro_cliente_remitente;
	protected $s__destinatario;
	protected $s__redespacho;
	protected $s__producto;
	protected $s__productos_ide;
	protected $s__producto_fila_detalle;
	protected $s__cantidad_producto_detalle;
	protected $s__cantidad_fila;
	protected $s__detalle;
	protected $s__datos_guia_detalle;
	protected $s__datos_guia_concepto_envio;
	protected $s__datos_guia_descuento;
	protected $s__datos_guia_forma_pago;
	protected $s__cod_servicio;
	protected $s__solo_lectura=false;
	protected $s__datos_guia;
	protected $s__nro_guia;
	protected $s__tipo_comprobante;
	protected $s__fecha;
	protected $s__cod_horario;
	protected $s__cuadro;
	protected $s__datos_comprobante;
	protected $s__cod_servicio_prox;
	protected $s__cod_horario_prox;
	//-----------------------------------------------------------------------------------
	//---- Configuraciones --------------------------------------------------------------
	//-----------------------------------------------------------------------------------
	
	function limpiar()
	{
		unset($this->s__seleccion);
		unset($this->s__datos_filtro);
	}
	
	//-----------------------------------------------------------------------------------
	//---- Eventos ----------------------------------------------------------------------
	//-----------------------------------------------------------------------------------
	
	function evt__guardar()
	{
		try{
			$this->guardar_datos_formularios();
			$this->cn()->guardar();
			//$this->limpiar();
			toba::notificacion()->agregar("Los datos del comprobante se han guardado correctamente",'info');
			$this->controlador()->set_pantalla('pant_inicial');			
		}catch (toba_error_db $error) {
			$sql_state = $error->get_sqlstate();
			if ($sql_state == 'db_23505') { 
				toba::notificacion()->agregar("El comprobante que desea ingresar ya existe",'info');
			}else{
				throw $error;
			}
		}        
	}
	
	function guardar_datos_formularios()
	{
		//Esto sirve para unir todo lo de Guia y guardar en la BD.
		if($this->cn()->hay_cursor_guia()){
			$this->cn()->set_guia($this->s__datos_guia);
			
			
		}else{
			$this->s__datos_guia['cod_servicio'] = $this->s__cod_servicio;
			$this->s__datos_guia['cod_horario'] = $this->s__cod_horario_prox;
			$id=$this->cn()->agregar_guia($this->s__datos_guia);
			$this->cn()->set_cursor_guia($id);
			
			$this->cn()->procesar_guia_detalle($this->s__datos_guia_detalle);
			$this->cn()->procesar_guia_detalle_concepto_envio($this->s__datos_guia_concepto_envio);
			$this->cn()->procesar_guia_detalle_descuento($this->s__datos_guia_descuento);
			$this->cn()->procesar_guia_detalle_forma_pago($this->s__datos_guia_forma_pago);
		}
		
	}
	
	function evt__cancelar()
	{    
		//$this->limpiar();
		$this->cn()->resetear();
		$this->controlador()->set_pantalla('pant_inicial');        
	}
	
	function evt__volver()
	{
		//$this->limpiar();
		$this->cn()->resetear();
		$this->set_pantalla('pant_inicial');
	}
	
	//-----------------------------------------------------------------------------------
	//---- form_servicio ----------------------------------------------------------------
	//-----------------------------------------------------------------------------------
	
	function get_servicio($cod_servicio)
	{
		return dao_servicio::get_servicio_nombre($cod_servicio);
	}	
	
	function get_localidad_origen($localidad)
	{
	 return dao_guia::get_loc_origen_destino($localidad);
	}	
	
	function get_localidad_destino($localidad)
	{
		return dao_guia::get_loc_origen_destino($localidad);
	}
	
	/*function get_hora_servicio($cod_horario)
	{
		
	//$cod_servicio = dao_servicio::get_listado_servicios($cod_servicio);
		
	 return dao_servicio::get_datos_servicio($cod_servicio,$cod_horario);
	 
	}*/	
	
	/*function get_origen_destino_servicio($origen,$destino)
	{
	 return dao_servicio::get_localidad_origen_destino_servicio($origen,$destino);
	}*/	
	
	function ajax__get_servicio_horario_proximo($servicio,toba_ajax_respuesta $respuesta)	
	{   
		//$cod_servicio = $servicio[0];
		//$cod_horario = $servicio[1];
		
		$datos = dao_servicio::get_proximo_horario_servicio();
		//ei_arbol($datos);
		$respuesta->set($datos);
	}
	
	function ajax__get_servicio_horario_seleccion_cuadro_guia($servicio,toba_ajax_respuesta $respuesta)	
	{  
		$cod_servicio = $servicio;
		$cod_horario = $this->s__cod_horario_prox;
		
		$datos = dao_servicio::get_servicio_horario($cod_servicio,$cod_horario);
		//ei_arbol($datos);
		$respuesta->set($datos);
	}
	
	function ajax__get_servicio_horario_seleccion_popup($servicio,toba_ajax_respuesta $respuesta)	
	{  
		$cod_servicio = $servicio[0];
		$cod_horario = $servicio[1];
		
		$datos = dao_servicio::get_servicio_horario_popup($cod_servicio,$cod_horario);
		//ei_arbol($datos);
		$respuesta->set($datos);
	}
	
	
	function ajax__get_servicio_horarios($agencias,toba_ajax_respuesta $respuesta)	
	{    

		$agencia_origen = $agencias[0];
		$agencia_destino = $agencias[1];
		
		$cod_servicio = dao_servicio::get_servicio_agencias($agencia_origen,$agencia_destino);
		//ei_arbol($cod_servicio);
		$datos = dao_servicio::get_servicio_horarios($cod_servicio);
		
		$respuesta->set($datos);
		
	}

	function ajax__get_datos_servicio($cod_servicio,toba_ajax_respuesta $respuesta)	
	{    
	
		$nro_guia = $this->s__nro_guia;
		$tipo_comp = $this->s__tipo_comprobante;
		
		
		if(is_numeric($tipo_comp) && ($tipo_comp !='') && ($tipo_comp != null)){
			
			$sql = "SELECT abreviatura,cod_tipo_comprobante FROM tipo_comprobante WHERE cod_tipo_comprobante = '$tipo_comp'";
			$rs = consultar_fuente($sql);
			$cod_tipo_comprobante = $rs[0]['cod_tipo_comprobante'];
			
		}else{
			
			$sql = "SELECT abreviatura,cod_tipo_comprobante FROM tipo_comprobante WHERE abreviatura like '%$tipo_comp%'";
			$rs = consultar_fuente($sql);
			$cod_tipo_comprobante = $rs[0]['cod_tipo_comprobante'];
		}
	
		$fecha = $this->s__fecha;
		//$cod_servicio = $servicio[0];
		$cod_horario = $this->s__cod_horario;
	
		$datos = dao_servicio::get_datos_servicio($nro_guia,$cod_tipo_comprobante,$fecha,$cod_servicio,$cod_horario);
		$respuesta->set($datos);
	}
	
	
	function ajax__get_servicio_combinacion($servicio,toba_ajax_respuesta $respuesta)	
	{    
		$cod_servicio = $servicio[0];
		$cod_horario = $servicio[1];
		
		$cod_comb = dao_guia::get_cod_combinacion($cod_servicio,$cod_horario);
		$cod_combinacion = $cod_comb[0]['cod_combinacion'];
		
		$datos = dao_guia::get_servicio_combinacion($cod_combinacion);
		//ei_arbol($datos);
		$respuesta->set($datos);
	}
	
	/*
	function ajax__get_horario_inicial($cod_servicio,toba_ajax_respuesta $respuesta)	
	{    
	
		$nro_guia = $this->s__nro_guia;
		$cod_tipo_comprobante = $this->s__tipo_comprobante;
		
		$fecha = $this->s__fecha;
		//$cod_servicio = $servicio[0];
		$cod_horario = $this->s__cod_horario;
	
		$datos = dao_servicio::get_horario_inicial($nro_guia,$cod_tipo_comprobante,$fecha,$cod_servicio,$cod_horario);
		//ei_arbol($datos);
		$respuesta->set($datos);
	}*/
	
	function ajax__get_horarios($servicio,toba_ajax_respuesta $respuesta)	
	{    
		
		$cod_servicio = $servicio[0];
		$cod_horario = $servicio[1];
		$datos = (dao_servicio::get_horarios($cod_servicio,$cod_horario));
		$respuesta->set($datos);
	}
	
	
	function conf__form_guia_datos_servicio(toba_ei_formulario $form)
	{
		$cursor = $this->cn()->hay_cursor_guia();
		if($cursor && $cursor !='' && $cursor != null){
			
			$datos=$this->cn()->get_guia_sel();
			$this->s__nro_guia = $datos['nro_guia'];
			$this->s__tipo_comprobante = $datos['cod_tipo_comprobante'];
			$this->s__fecha = $datos['fecha'];
			//$this->s__cod_servicio = $datos['cod_servicio'];
			$this->s__cod_horario = $datos['cod_horario'];
			
			$cod_servicio = $datos['cod_servicio'];
			$cod_horario = $datos['cod_horario'];
			
			$this->s__cod_servicio = $cod_servicio;
			
			$this->s__cod_horario_prox = $datos['cod_horario'];
			
			$servicio_horario = dao_servicio::get_servicio_horario($cod_servicio,$cod_horario);
		
			$servicio_horario += $datos;
			//ei_arbol($servicio_horario);
			
			$form->set_datos($datos);
				
		}else{
			
			$proximo_servicio = dao_servicio::get_proximo_horario_servicio();
			$this->s__cod_servicio = $proximo_servicio['cod_servicio'];
			//ei_arbol($this->s__cod_servicio);	
			$this->s__cod_horario_prox = $proximo_servicio['cod_horario'];
			$form->set_datos($proximo_servicio);
		}	
		
	}

	function evt__form_guia_datos_servicio__modificacion($datos)
	{
		$this->s__datos_guia['cod_servicio'] = $this->s__cod_servicio;
		$this->s__datos_guia['cod_horario'] = $this->s__cod_horario_prox;
		$this->s__datos_guia['fecha_llegada'] = $datos['fecha_servicio_llegada'];
		$this->s__datos_guia['hora_llegada'] = $datos['hora_servicio_llegada'];
		//this->cn()->set_guia($datos);
	}

	//-----------------------------------------------------------------------------------
	//---- filtro_servicio ------------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__filtro_servicio(toba_ei_filtro $filtro)
	{
		if(isset($this->s__datos_filtro)){
			$filtro->set_datos($this->s__datos_filtro);
			$this->s__where=$filtro->get_sql_where();
		}
	}

	function evt__filtro_servicio_filtrar($datos)
	{
		$this->s__datos_filtro = $datos;
		
	}

	function evt__filtro_servicio_limpiar()
	{
		$this->limpiar();
	}

	//-----------------------------------------------------------------------------------
	//---- cuadro_servicio_horarios -----------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__cuadro_servicio_horarios(toba_ei_cuadro $cuadro)
	{	
		
		//$this->dep('cuadro_servicio_horarios')->desactivar_modo_clave_segura();
		if(isset($this->s__datos_filtro))
		{
			$datos=dao_servicio::get_listado_servicios($this->s__where);
			//ei_arbol($datos);
				
		}else{
			$datos=dao_servicio::get_listado_servicios();        
		}
		
		$cuadro->set_datos($datos);
	}
	
	function evt__cuadro_servicio_horarios__seleccion($seleccion)
	{
		
		$this->cn()->cargar($seleccion);
		$id_memoria=$this->cn()->traer_id_memoria_guia($seleccion);
		
		$this->cn()->set_cursor_guia($id_memoria[0]);
		//$this->dep('form_guia_datos_servicio')->set_datos($datos);
	
		/*
		 $this->cn()->resetear();
		$this->cn()->cargar($seleccion);
		$id_memoria=$this->cn()->traer_id_memoria_servicio($seleccion);
		//ei_arbol($seleccion);
		//ei_arbol($id_memoria); 
		$this->cn()->set_cursor_servicio($id_memoria[0]);
		$this->set_pantalla('pant_edicion');
		*/
	}

	//-----------------------------------------------------------------------------------
	//---- form_guia_datos_servicio -----------------------------------------------------
	//-----------------------------------------------------------------------------------

	function evt__form_guia_datos_servicio__buscar($datos)
	{
		$this->dep('cuadro_servicio_horarios')->desactivar_modo_clave_segura();
		if(isset($datos)){
			
			$agencia_origen = $datos['agencia_origen'];
			$agencia_destino = $datos['agencia_destino'];
			$redespacho = $datos['redespacho'];
			//ei_arbol($redespacho);
			if($redespacho == 'Sin Redespacho'){

				$cod_servicio = dao_servicio::get_servicio_agencias($agencia_origen,$agencia_destino);
				$datos = dao_servicio::get_servicio($cod_servicio);
			
				if(isset($datos)){
					$this->dep('cuadro_servicio_horarios')->set_datos($datos);	
				}else{
					$toba::notificacion()->agregar("No hay servicios disponibles con esa descripción",'info');           
				}
				
			}else if($redespacho == 'Con Redespacho'){
				//ei_arbol('aaaaaa');
				$loc_origen =$datos['cod_localidad_origen'];
				$loc_destino = $datos['cod_localidad_destino'];
				$localidad_origen = dao_guia::get_localidad($loc_origen);
				$localidad_destino  = dao_guia::get_localidad($loc_destino);
				$datos = dao_guia::get_cod_servicio_combinacion($localidad_origen,$localidad_destino);
				//ei_arbol($datos);
				if(isset($datos)){
					//$this->dep('form_ml_guia_servicio_redespacho')->set_datos($datos);	
				}else{
					$toba::notificacion()->agregar("No hay servicios disponibles con esa descripción",'info');           
				}
			}
			
		}else{
			$toba::notificacion()->agregar("No se encontraron resultados con las descripciones ingresadas.
			Verifique los datos ingresados",'info');           
		}	
	}

	//-----------------------------------------------------------------------------------
	//---- form_guia_redespacho ---------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__form_ml_guia_redespacho(toba_ei_formulario_ml $form_ml)
	{
		/*
		if($this->cn()->hay_cursor_guia()){
			$datos=$this->cn()->get_guia();
			//ei_arbol($datos);
			//$this->s__remitente = $datos['remitente'];
			
			//$form_ml->set_datos($datos);
			//ei_arbol($datos);
			//$datos=dao_servicio::get_combinacion();
			//$cuadro->set_datos($datos);
		}	
		*/
	}

	function evt__form_ml_guia_redespacho__modificacion($datos)
	{
		//$this->cn()->set_guia($datos);
	}
	
	
	//-----------------------------------------------------------------------------------
	//---- form_guia------------------------------------------------------------------
	//-----------------------------------------------------------------------------------
	
	function conf__form_guia(toba_ei_formulario $form)
	{
		if($this->cn()->hay_cursor_guia()){
			
			$datos= $this->cn()->get_guia_sel();
			$form->set_datos($datos);
			//ei_arbol($datos);					
		}
		//else{
		
		//}	

	} 
	
	function evt__form_guia__modificacion($datos)
	{	
		$this->s__datos_guia = $datos;
		$this->s__datos_guia['nro_personal_emisor'] = 2;
	}	

	//------------------------------------------------------------------------------------------------
	//----nro_comprobante-----------------------------------------------------------------------------
	//------------------------------------------------------------------------------------------------
	
	/*function ajax__get_nro_agencia($nro_agencia, toba_ajax_respuesta $respuesta)	
	{    
		
		$datos=dao_guia::get_agencia_origen($nro_agencia);
		$respuesta->set($datos);	
	}*/
	
	
	function ajax__get_nro_comprobante($valor, toba_ajax_respuesta $respuesta)	
	{    
		
		$nro_agencia = $valor[0];
		$cod_tipo_comprobante = $valor[1];
		//ei_arbol($valor);
		$this->s__datos_comprobante['nro_agencia']= $nro_agencia;
		$this->s__datos_comprobante['cod_tipo_comprobante']= $cod_tipo_comprobante;

		$datos=dao_guia::get_nro_guia($nro_agencia,$cod_tipo_comprobante);
		//ei_arbol($datos);
		$respuesta->set($datos);	
	}

	function ajax__get_nro_comprobante_ide($valor, toba_ajax_respuesta $respuesta)	
	{    
		
		$nro_agencia = $valor[0];
		$tipo_comprobante_ide = $valor[1];
		
		$this->s__datos_comprobante['nro_agencia']= $nro_agencia;
		$this->s__datos_comprobante['cod_tipo_comprobante'] = $tipo_comprobante_ide;
	
		$datos=dao_guia::get_nro_guia_ide($nro_agencia,$tipo_comprobante_ide);
		//ei_arbol($datos);
		$respuesta->set($datos);	
	}
	
	
	//------------------------------------------------------------------------------------------------
	//----tipo_comprobante----------------------------------------------------------------------------
	//------------------------------------------------------------------------------------------------
	
	function ajax__get_tipo_comprobante_guia($guia, toba_ajax_respuesta $respuesta)	
	{    
		$nro_guia = $guia[0];
		$cod_tipo_comprobante = $guia[1];
		$fecha = $guia[2];
		
		//ei_arbol($guia);
		$datos = dao_guia::get_tipo_comprobante_guia($nro_guia,$cod_tipo_comprobante,$fecha);
		$respuesta->set($datos);
	}
	
	
	function ajax__get_tipo_comprobante($nro_cliente, toba_ajax_respuesta $respuesta)	
	{    
		$condicion_empresa=dao_guia::get_condicion_empresa();
		$cliente=dao_cliente::get_clie($nro_cliente);
		$codicion_remitente = $cliente['cod_condicion_iva'];
		$datos=dao_guia::get_tipo_comprobante($condicion_empresa, $codicion_remitente);
		//ei_arbol($datos);
		$respuesta->set($datos);	
	}
	
	function ajax__get_tipo_comprobante_remito($cod_condicion_pago, toba_ajax_respuesta $respuesta)	
	{    

		$datos=dao_guia::get_tipo_comprobante_remito($cod_condicion_pago);
		//ei_arbol($datos);
		$respuesta->set($datos);	
	}
	
	//------------------------------------------------------------------------------------------------
	//---- form_datos_guia----------------------------------------------------------------------------
	//------------------------------------------------------------------------------------------------
	
	function ajax__get_datos_cliente_guia($guia, toba_ajax_respuesta $respuesta)	
	{   
		$nro_guia = $guia[0];
		$cod_tipo_comprobante = $guia[1];
		$fecha = $guia[2];
		
		$datos = dao_guia::get_datos_cliente_guia($nro_guia,$cod_tipo_comprobante,$fecha);
		$respuesta->set($datos);
	}
	
	function ajax__get_datos_remitente($nro_remitente, toba_ajax_respuesta $respuesta)	
	{    
		$datos=dao_guia::get_datos_remitente_destinatario_retirador($nro_remitente);
		$respuesta->set($datos);
	}

	function ajax__get_datos_destinatario($nro_destinatario, toba_ajax_respuesta $respuesta)	
	{    
		$datos=dao_guia::get_datos_remitente_destinatario_retirador($nro_destinatario);
		$respuesta->set($datos);	
	}
	
	function ajax__get_datos_retirador($nro_retirador, toba_ajax_respuesta $respuesta)	
	{    
		$datos=dao_guia::get_datos_remitente_destinatario_retirador($nro_retirador);
		$respuesta->set($datos);	
	}
	

	//-----------------------------------------------------------------------------------
	//---- form_datos_cliente -----------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function get_remitente($nro_cliente)
	{
		return dao_guia::get_remitente_guia($nro_cliente);
	}	
	
	function get_destinatario($nro_cliente)
	{
		return dao_guia::get_destinatario_guia($nro_cliente);
	}	
	
	function get_retirador($nro_cliente)
	{
		return dao_guia::get_retirador_guia($nro_cliente);
	}	
	
	function conf__form_guia_datos_cliente(toba_ei_formulario $form)
	{
		if($this->cn()->hay_cursor_guia()){
			$datos=$this->cn()->get_guia_sel();
			//ei_arbol($datos);	
			//$this->s__nro_cliente_remitente = $datos['remitente'];
			//$this->s__destinatario = $datos['destinatario'];

			$form->set_datos($datos);
			
		}
			
	}

	function evt__form_guia_datos_cliente__modificacion($datos)
	{
		
		/*if($this->get_cn()->hay_cursor_investigador()){
			$this->get_cn()->set_investigador($datos);
			
		}else{
			$id=$this->get_cn()->agregar_investigador($datos);
			$this->get_cn()->set_cursor_investigador($id);
		}*/
		
		$this->s__datos_guia['remitente'] = $datos['remitente'];
		$this->s__datos_guia['destinatario'] = $datos['destinatario'];
		$this->s__datos_guia['cod_tipo_estado_envio'] = 1;
		$this->s__datos_guia['cod_tipo_estado_comprobante'] = 1;
		//$this->s__datos_guia['cod_tipo_comprobante'] = 1;
		
		
		//ei_arbol($this->s__datos_guia);
		
		/*if($this->cn()->hay_cursor_guia()){
			$this->cn()->set_guia($this->s__datos_guia);
			
			
		}else{
			
			$id=$this->cn()->agregar_guia($this->s__datos_guia);
			$this->cn()->set_cursor_guia($id);
		}*/
	}
	
	//----------------------------------------------------------------------------------------------
	//---- form_guia_detalle -----------------------------------------------------------------------
	//----------------------------------------------------------------------------------------------
	
	function get_producto($cod_producto)
	{
		return $cod_producto;
	}
	
	/*function get_medida($cod_medida)
	{
		return dao_guia::get_medidas($cod_medida);
	}*/
	
	function get_unidades($cod_unidad)
	{
		return dao_guia::get_unidad($cod_unidad);
	}
	
	function get_tarifa_pes($agencia_origen,$agencia_destino,$peso)
	{
		return dao_guia::get_tarifa_peso($agencia_origen,$agencia_destino,$peso);
	}
	
	/*function producto_ide()
	{
	
	}*/
	
	function conf__form_ml_guia_detalle(toba_ei_formulario_ml $form_ml)
		
	{
		if($this->cn()->hay_cursor_guia()){
			$datos = $this->cn()->get_guia_detalle();
			$form_ml->set_datos($datos);
			//$this->s__productos_ide = $datos;
		}
		
		$this->s__productos_ide = $this->cn()->get_guia_detalle();
		$productos = $this->s__productos_ide;
		$this->s__cantidad_fila = count($this->s__productos_ide);
		$i=0;
		
		foreach ($productos as $producto)
		{
			$this->s__cantidad_producto_detalle[$i] = $producto['cantidad'];
			$this->s__productos_ide[$i]['descripcion'] = $producto['descripcion'];
			$i++;
		}
	
		/*if(is_array($this->s__detalle) && !empty($this->s__detalle)){
			$form_ml->set_datos($this->s__detalle);
		}else{
			$datos = $this->cn()->get_guia_detalle();
			//ei_arbol($datos);
			if(is_array($datos) && !empty($datos)){
				if($this->s__solo_lectura){
					$form_ml->set_solo_lectura(null,true);	
					$form_ml->desactivar_agregado_filas();				
				}
				$form_ml->set_datos($datos);
				//ei_arbol($datos);				 
			}
		}*/
	}
	
	function evt__form_ml_guia_detalle__modificacion($datos)
	{
		$this->s__cantidad_fila = count($datos);
		$this->s__productos_ide = $datos;
		$productos = $this->s__productos_ide;
		$i=0;
		
		foreach ($productos as $producto)
		{
			$indice = $producto['apex_ei_analisis_fila'];
			if ($indice <> 'B')
			{
				$this->s__cantidad_producto_detalle[$i] = $producto['cantidad'];
				$this->s__producto_fila_detalle[$i]['descripcion'] = $producto['descripcion'];
				$i++;
			}else{
				$this->s__cantidad_fila--;
			}
		}
		//ei_arbol($this->s__cantidad_fila);
		$this->s__datos_guia_detalle = $datos;
		//$this->cn()->procesar_guia_detalle($datos);
	}	
	
	function ajax__get_datos_producto($cod_producto, toba_ajax_respuesta $respuesta)	
	{    
		$datos=dao_guia::get_descripcion_producto($cod_producto);
		$respuesta->set($datos);	
	}
	
	/*function get_tarifa($agencia_origen,$agencia_destino, $peso)
	{
		return dao_guia::get_tarifa($agencia_origen,$agencia_destino,$peso);
	}*/
	
	/*function get_tarifa_volumen($peso,$largo,$ancho,$alto)
	{
		return dao_guia::get_tarifa_volumen($peso,$largo,$ancho,$alto);
	}*/
	
	/*function get_tarifa_volumen ($peso,$largo,$ancho,$alto)
	{
		
		$volumen_aforado= (($largo * $ancho * $alto) / 6000);
		
		if ($volumen_aforado > $peso) {
			
			return $volumen_aforado;
		}
		
		if ($volumen_aforado < $peso) {
			
			return $peso;
		}
	}*/
	
	function ajax__get_tarifa_peso($peso, toba_ajax_respuesta $respuesta)	
	{    
		$cod_servicio = $this->s__cod_servicio;
		$datos = dao_guia::get_tarifa_peso($cod_servicio,$peso);
		$respuesta->set($datos);
	}

	function ajax__get_tarifa_aforado($valor, toba_ajax_respuesta $respuesta)	
	{    
		$peso = $valor[0];
		$largo = $valor[1];
		$ancho = $valor[2];
		$alto = $valor[3];
		$aforado = dao_guia::get_tarifa_volumen($peso,$largo,$ancho,$alto);
		
		if ($aforado != null && $aforado != ''){
			$cod_servicio = $this->s__cod_servicio;
			$datos = dao_guia::get_tarifa_aforado($cod_servicio,$aforado);
			//ei_arbol($datos);
			$respuesta->set($datos);	
		}
	}
	
	//------------------------------------------------------------------------------------------------
	//---- form_concepto_envio------------------------------------------------------------------------
	//------------------------------------------------------------------------------------------------
	
	function get_cod_concepto_envio($cod_concepto){
		return $cod_concepto;
	} 
	
	function conf__form_ml_guia_concepto_envio(toba_ei_formulario_ml $form_ml)
	{
		$aux=array();
	
		$datos=array();
		if($this->cn()->hay_cursor_guia()){
			$datos=$this->cn()->get_guia_detalle_concepto_envio();
			//$form_ml->set_datos($datos);
				
		}else{
			
			$aux=dao_concepto_envio::get_concepto_envios_obligatorios();
			$x=count($aux);
			
			$j=156;
			
			for ($i=0; $i < $x; $i++){
				$dato=$aux[$i];
				$dato['x_dbr_clave']=$j;
				$dato['apex_ei_analisis_fila']='A';
				$datos[$j]= $dato;
				$j++;
			}
		}
		//$aux=array_merge($conc_oblig,$concep);
		
		
		$form_ml->set_datos($datos);
		//ei_arbol($datos);	
	}
	
	function evt__form_ml_guia_concepto_envio__modificacion($datos)
	{	
		//$hay_cursor=$this->cn()->hay_cursor_guia();
		//if($hay_cursor){
			//ei_arbol($datos);
			 $this->s__datos_guia_concepto_envio = $datos;
			 //$this->cn()->procesar_guia_detalle_concepto_envio($datos);
		//}
	}
	
	
	function ajax__get_descripcion_concepto_envio($cod_concepto, toba_ajax_respuesta $respuesta)	
	{    
		$datos=dao_guia::get_descripcion_concepto_envio($cod_concepto);
		$respuesta->set($datos);	
	}
	
	function ajax__get_monto_flete($valor, toba_ajax_respuesta $respuesta)	
	{    
		
		$peso = $valor[0];
		$medida = $valor[1];
		
		$datos=dao_guia::get_monto_flete($peso,$medida);
		//ei_arbol($datos);
		$respuesta->set($datos);	
	
	}
	
	//------------------------------------------------------------------------------------------------
	//---- form_descuento-----------------------------------------------------------------------------
	//------------------------------------------------------------------------------------------------
	
	
	function get_descuentos($cod_descuento){
		return $cod_descuento;
	} 
	
	function conf__form_ml_guia_descuento(toba_ei_formulario_ml $form_ml)
	{
		
		if($this->cn()->hay_cursor_guia()){
			$datos=$this->cn()->get_guia_detalle_descuento();
			$form_ml->set_datos($datos);
			//ei_arbol($datos);			
		}
		
	}

	function evt__form_ml_guia_descuento__modificacion($datos)
	{
		$this->s__datos_guia_descuento = $datos;
		//$this->cn()->procesar_guia_detalle_descuento($datos);
	}
	
	
	function ajax__get_datos_descuento($cod_descuento, toba_ajax_respuesta $respuesta)	
	{    
		$datos=dao_guia::get_descripcion_descuento($cod_descuento);
		$respuesta->set($datos);	
	}
	
	function ajax__get_monto_descuento($valor, toba_ajax_respuesta $respuesta)	
	{    
		
		$cod_descuento = $valor[0];
		$monto = $valor[1];
		
		$datos=dao_guia::get_monto_descuento($cod_descuento,$monto);
		$respuesta->set($datos);
	}
	
	//-----------------------------------------------------------------------------------
	//---- form_guia_forma_pago ---------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__form_ml_guia_forma_pago(toba_ei_formulario_ml $form_ml)
	{
		if($this->cn()->hay_cursor_guia()){
			$datos=$this->cn()->get_guia_detalle_forma_pago();
			$form_ml->set_datos($datos);
			//ei_arbol($datos);			
		}
	}

	function evt__form_ml_guia_forma_pago__modificacion($datos)
	{
		$this->s__datos_guia_forma_pago = $datos;
		//$this->cn()->procesar_guia_detalle_forma_pago($datos);
		
	}

	//-----------------------------------------------------------------------------------
	//---- form_total -------------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__form_guia_total(toba_ei_formulario $form)
	{
		if($this->cn()->hay_cursor_guia()){
			$datos=$this->cn()->get_guia_sel();
			$form->set_datos($datos);		
		}
	}

	function evt__form_guia_total__modificacion($datos)
	{
		$this->s__datos_guia['monto'] = $datos['monto'];
	}

	//-----------------------------------------------------------------------------------
	//---- form_observacion -------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__form_guia_observacion(toba_ei_formulario $form)
	{
		if($this->cn()->hay_cursor_guia()){
			$datos=$this->cn()->get_guia_sel();
			$form->set_datos($datos);
			//ei_arbol($datos);			
		}
	}

	function evt__form_guia_observacion__modificacion($datos)
	{
		$this->s__datos_guia['observacion'] = $datos['observacion'];
		
	}

	
	//-----------------------------------------------------------------------------------
	//---- form_guia_ide ----------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__form_ml_guia_ide(toba_ei_formulario_ml $form_ml)
	{
		/*ei_arbol($this->s__cantidad);
		$datos=null;
		$x=(156 + $this->s__cantidad);
		*/
		$nro_agencia = $this->s__datos_comprobante['nro_agencia'];
		$cod_tipo_comprobante_ide = $this->s__datos_comprobante['cod_tipo_comprobante'];
		
		if($nro_agencia !=''&& $cod_tipo_comprobante_ide !=''){
		
			$ide = dao_guia::get_nro_guia_actual_ide($nro_agencia,$cod_tipo_comprobante_ide);	
			
			$k=0;
			$cant_detalle = $this->s__cantidad_fila;
			//ei_arbol($cant_detalle);
			for ($i=0; $i < $cant_detalle; $i++){
				
				if ($cant_detalle != null)
				{
					$cant_detalle_fila = $this->s__cantidad_producto_detalle[$i];
					for ($j=0; $j < $cant_detalle_fila; $j++){
					
						$tipo_comp = dao_guia::get_tipo_comprob($cod_tipo_comprobante_ide);
						$dato['cod_tipo_comprobante_ide'] = $tipo_comp['abreviatura'];
						$dato['nro_ide'] = $ide++;
						
						$producto = $this->s__producto_fila_detalle[$i]['descripcion'];
						if ($producto !=''){
							$dato['descripcion'] = $producto;
							$datos[$k] = $dato;
							$k++;
						}
					}
				}
				
				if(isset($datos)){
			
					$form_ml->set_datos($datos);
					
				}else{
				
				}	
			}
		}
	}

	function evt__form_ml_guia_ide__modificacion($datos)
	{
		/*ei_arbol($datos);
		$i=156;
		$this->s__cantidad = 0;
		foreach ($datos as $dato)
		{
			$this->s__cantidad += $dato['cantidad'];
			//$this->s__productos_ide = $dato['descripcion'];
			//$dato['apex_ei_analisis_fila'] = 'A';
			//$ide['x_dbr_clave']=$i;
			//$guia_ide[$i] = $ide;
			//$i++;
		}*/
		
		
	}
}
?>
